// index.js
// 获取应用实例
const app = getApp()

Page({
  data:{
    //上传图片
     photoPath:'',//选择的图片路径
     avator:'../image/拍照.png',
  },
   uploadAvator:function(){
      wx.chooseImage({
        count: 1,
        sizeType: ['original', 'compressed'],// 可以指定是原图还是压缩图，默认二者都有
        sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机，默认二者都有
        success:(res)=>{
          console.log(this)
          // 返回选定照片的本地文件路径列表，tempFilePath可以作为img标签的src属性显示图片
          var tempFilePaths = res.tempFilePaths
          console.log("tempFilePaths:"+tempFilePaths);
          this.setData({
            photoPath: tempFilePaths,
          });
          if(this.data.photoPath!=undefined){
            console.log("wx.uploadFile")
            wx.uploadFile({
              url: "http://62.234.212.34/prcimg", //url就是Java后台的上传图片接口，实际可以更改为自己服务器的地址。
              filePath: this.data.photoPath[0],
              name: 'file',//需要传给后台的图片字段名称
              formData: {//需要传给后台的其他表单数据
                'pdNo':this.data.pdNo
              },
              header: {
                "Content-Type": "multipart/form-data", //form-data格式
                'Accept': 'application/json', 
              },
              success:  (res)=> {
              console.log(res.data)
              var result=res.data
                if(res.statusCode!=200){
                  wx.showToast({
                    title: '上传失败！',
                    duration:2000
                  })
                }else{
                  var date=new Date();
                  wx.showToast({ 
                    title: '上传成功！',
                    duration:2000
                  })
                  // 将base64字符串转化为 ArrayBuffer 格式的二进制数据
                  // console.log(result.split(":")[1].slice(2,-2).length)
                  // Convert the base64 string to ArrayBuffer
                  const binarydata = wx.base64ToArrayBuffer(result);
                  // const binaryData = wx.base64ToArrayBuffer(result.split(":")[1].slice(0,-1));
                  // 将二进制数据保存到本地文件
                  wx.getFileSystemManager().writeFile({
                  filePath:  `${wx.env.USER_DATA_PATH}/temp.jpg`,
                  data: binarydata,
                  success() {
                    wx.saveImageToPhotosAlbum({
                      filePath:`${wx.env.USER_DATA_PATH}/temp.jpg` ,
                      success: function() {
                        console.log('保存成功');
                      },
                      fail: function(err) {
                        console.log('保存失败', err);
                      }
                    });
                  console.log('Saved successfully!');
                  },
                  fail(error) {
                      console.log('Failed to save:', error);
                  }
                  });
                  this.setData({
                    // avator:result+"?t="+date,//如果不加后缀的话第一次上传过图片之后再次上传的图片不显示，虽然图片链接已经改变，显示的仍是第一次的图片
                    avator:`${wx.env.USER_DATA_PATH}/temp.jpg?rand=${Math.random()}`
                  })
                  // 指定目录路径
                  getApp().globalData.imageUrl = this.data.avator;
                  // console.log(getApp().globalData.imageUrl)
                  wx.navigateTo({
                    url: '../results/results'
                  })                  
                }
              },
              complete:  (res)=> {
                console.log(res);
              }
            })    
          }else{
            wx.showToast({
              title: '未选择照片！',
              duration:2000
            })
          }
        },
      complete:(res)=> {
          console.log(res);
      }
    })
    },
})
